﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;


namespace Project_2._2.ViewModels
{
    public class PersonViewModels
    {

        [DisplayName("Tên Tài Khoản")]
        [Required(ErrorMessage = "Vui lòng nhập Tên Đăng Nhập")]        
        public string TenDangNhap { get; set; }

        [DisplayName("Mật Khẩu")]
        [Required(ErrorMessage = "Vui lòng nhập Mật Khẩu")]
        public string MatKhau { get; set; }

        [DisplayName("Nhập lại Mật Khẩu")]
        [Required(ErrorMessage = "Vui lòng xác nhận Mật Khẩu") , Compare("MatKhau", ErrorMessage="Xác nhận Mật khẩu không khớp .")]
        public string ConMatKhau { get; set; }

        [DisplayName("Họ và Tên")]
        [Required(ErrorMessage = "Vui lòng nhập Họ Tên")]
        public string HoTen { get; set; }

        [DisplayName("Ngày Sinh")]
        [Required(ErrorMessage = "Vui lòng chọn Ngày Sinh")]
        public DateTime NgaySinh { get; set; }

        [DisplayName("Giới Tính")]
        [Required(ErrorMessage = "Vui lòng chọn Giới Tính")]
        public string GioiTinh { get; set; }

        [DisplayName("Địa Chỉ")]
        [Required(ErrorMessage = "Vui lòng nhập Địa Chỉ")]
        public string DiaChi { get; set; }

        [DisplayName("Email")]
        [Required(ErrorMessage = "Vui lòng nhập Email")]
        [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage="Email không hợp lệ.")]
        public string Email { get; set; }

        [DisplayName("Điện Thoại")]
        [Required(ErrorMessage = "Vui lòng nhập số Điện Thoại")]
        [StringLength(11, ErrorMessage="Số Điện thoại không ít hơn 10 số và lớn hơn 11 số.")]
        [RegularExpression(@"0[0-9]{9,10}",ErrorMessage="Số điện thoại bắt đầu là số 0, không được nhập chữ, từ 10 - 11 số.")]
        public string DienThoai { get; set; }

        [DisplayName("Mã Xác Nhận")]
        [Required(ErrorMessage = "Bạn chưa nhập mã xác nhận.")]
        public string captcha { get; set; }
    }

    public class AdminPerson_Create_ViewModels
    {
        [DisplayName("Tên Tài Khoản")]
        [Required(ErrorMessage = "Vui lòng nhập Tên Đăng Nhập")]
        public string UserName { get; set; }

        [DisplayName("Mật Khẩu")]
        [Required(ErrorMessage = "Vui lòng nhập Mật Khẩu")]
        public string Pass { get; set; }

        [DisplayName("Nhập lại Mật Khẩu")]
        [Required(ErrorMessage = "Vui lòng xác nhận Mật Khẩu"), Compare("Pass", ErrorMessage = "Xác nhận Mật khẩu không khớp .")]
        public string ConPass { get; set; }

        [DisplayName("Họ và Tên")]
        [Required(ErrorMessage = "Vui lòng nhập Họ Tên")]
        public string Name { get; set; }

        [DisplayName("Ngày Sinh")]
        [Required(ErrorMessage = "Vui lòng chọn Ngày Sinh")]
        public DateTime DOB { get; set; }

        [DisplayName("Giới Tính")]
        [Required(ErrorMessage = "Vui lòng chọn Giới Tính")]
        public string GioiTinh { get; set; }

        [DisplayName("Địa Chỉ")]
        [Required(ErrorMessage = "Vui lòng nhập Địa Chỉ")]
        public string DiaChi { get; set; }

        [DisplayName("Email")]
        [Required(ErrorMessage = "Vui lòng nhập Email")]
        [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Email không hợp lệ.")]
        public string Email { get; set; }

        [DisplayName("Điện Thoại")]
        [Required(ErrorMessage = "Vui lòng nhập số Điện Thoại")]
        [StringLength(11, ErrorMessage = "Số Điện thoại không ít hơn 10 số và lớn hơn 11 số.")]
        [RegularExpression(@"0[0-9]{9,10}", ErrorMessage = "Số điện thoại bắt đầu là số 0, không được nhập chữ, từ 10 - 11 số.")]
        public string DienThoai { get; set; }

        [DisplayName("Loại Tài Khoản")]
        public int RoleId { get; set; }

        [DisplayName("Trạng Thái Tài Khoản")]
        public Boolean isDelete { get; set; }
    }

    public class PasswordChange_ViewModels
    {
        [DisplayName("Mật Khẩu củ")]
        [Required(ErrorMessage = "Vui lòng nhập Mật Khẩu củ của bạn.")]
        public string OldPassword { get; set; }

        [DisplayName("Mật Khẩu mới")]
        [Required(ErrorMessage = "Vui lòng nhập Mật Khẩu mới.")]
        public string NewPassword { get; set; }

        [DisplayName("Xác nhận Mật Khẩu mới")]
        [Required(ErrorMessage = "Vui lòng xác nhận Mật Khẩu mới"), Compare("NewPassword", ErrorMessage = "Xác nhận Mật khẩu mới không khớp .")]
        public string Con_New_Password { get; set; }

        [DisplayName("Mã Xác Nhận")]
        public string captcha { get; set; }
    }

    public class ForgotPass_ViewModels
    {
        [DisplayName("Email")]
        [Required(ErrorMessage = "Vui lòng nhập Email")]
        [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Email không hợp lệ.")]
        public string Email { get; set; }

        [DisplayName("Mã Xác Nhận")]
        [Required(ErrorMessage = "Bạn chưa nhập mã xác nhận.")]
        public string captcha { get; set; }
    }

    public class Login_ViewModels
    {
        [DisplayName("Tên Tài Khoản")]
        [Required(ErrorMessage = "Vui lòng nhập Tên Đăng Nhập")]
        public string TenDangNhap { get; set; }

        [DisplayName("Mật Khẩu")]
        [Required(ErrorMessage = "Vui lòng nhập Mật Khẩu.")]
        public string Password { get; set; }

        [DisplayName("Mã Xác Nhận")]
        [Required(ErrorMessage = "Bạn chưa nhập mã xác nhận.")]
        public string captcha { get; set; }

        [Display(Name = "Ghi nhớ Tài Khoản")]
        public bool RememberMe { get; set; }
    }
}